package cc.mrbird.febs.common.utils;

import java.util.Date;

/**
 * 文件名工具类
 * 提供文件名处理相关的功能
 * 包括获取文件后缀和生成不同类型的文件名
 * 
 * @author MrBird
 */
public class FileNameUtils {

    /**
     * 获取文件后缀
     * 从文件名中提取最后一个点号后的内容作为文件后缀
     * 包含点号，例如：".jpg"、".pdf"等
     *
     * @param fileName 完整的文件名
     * @return 文件后缀，包含点号
     */
    public static String getSuffix(String fileName){
        return fileName.substring(fileName.lastIndexOf("."));
    }

    /**
     * 生成标准文件名
     * 使用"SA"前缀加时间戳和原文件后缀生成新的文件名
     * 用于普通文件的命名
     *
     * @param fileOriginName 原始文件名
     * @return 生成的新文件名，格式为：SA + 时间戳 + 原文件后缀
     */
    public static String getFileName(String fileOriginName){
        return ("SA" + new Date().getTime()+ FileNameUtils.getSuffix(fileOriginName));
    }

    /**
     * 生成视频文件名
     * 使用"OA"前缀加时间戳和原文件后缀生成新的文件名
     * 专门用于视频文件的命名
     *
     * @param fileOriginName 原始文件名
     * @return 生成的新文件名，格式为：OA + 时间戳 + 原文件后缀
     */
    public static String getFileNameByVideo(String fileOriginName){
        return ("OA" + new Date().getTime()+ FileNameUtils.getSuffix(fileOriginName));
    }

    /**
     * 生成压缩文件名
     * 使用"7Z"前缀加时间戳和原文件后缀生成新的文件名
     * 专门用于压缩文件的命名
     *
     * @param fileOriginName 原始文件名
     * @return 生成的新文件名，格式为：7Z + 时间戳 + 原文件后缀
     */
    public static String getFileNameByZip(String fileOriginName) {
        return ("7Z" + new Date().getTime()+ FileNameUtils.getSuffix(fileOriginName));
    }


}

